package cn.ljy.authority.service;

import cn.ljy.common.utils.file.MyFileModel;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

public interface OssService {

    /**
     * 上传MultipartFile文件
     * @param file 文件对象
     * @param folder 文件夹路径
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file, String folder);

    /**
     * 上传InputStream文件
     * @param inputStream 文件流
     * @param fileName 文件名
     * @param folder 文件夹路径
     * @return 文件访问URL
     */
    String uploadFile(InputStream inputStream, String fileName, String folder);

    /**
     * 删除文件
     * @param fileName 文件名（包含路径）
     * @return 是否删除成功
     */
    boolean deleteFile(String fileName);

    /**
     * 生成预签名URL
     * @param fileName 文件名
     * @param expirationTime 过期时间（毫秒）
     * @return 预签名URL
     */
    String generatePresignedUrl(String fileName, long expirationTime);
}